<!doctype html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<title>Template • TodoMVC • Vue2.0</title>
		<link rel="stylesheet" href="node_modules/todomvc-common/base.css">
		<link rel="stylesheet" href="node_modules/todomvc-app-css/index.css">
		<!-- CSS overrides - remove if you don't need it -->
		<link rel="stylesheet" href="css/app.css">
	</head>
	<body>
		<!-- 挂载元素 -->
		<section class="todoapp" id="app"> 
			<!-- 输入框区域 -->
			<header class="header">
				<h1>todos</h1>
				<input 
					class="new-todo" 
					placeholder="What needs to be done?" 
					autofocus 
					v-model.trim="newTodo" 
					@keyup.enter="addTodo" >
			</header>
			<!-- 事项列表区域 -->
			<section class="main" v-show="todos.length">
				<!-- 这里注意下 v-model不能使用表达式，可以用计算属性 -->
				<input id="toggle-all" class="toggle-all" type="checkbox" v-model="allDone">
				<label for="toggle-all">Mark all as complete</label>
				<ul class="todo-list">
					<!-- 已完成事项的 li -->
					<!-- <li class="completed">
						<div class="view">
							<input class="toggle" type="checkbox" checked>
							<label>Taste JavaScript</label>
							<button class="destroy"></button>
						</div>
						<input class="edit" value="Create a TodoMVC template">
					</li> -->
					<!-- 待办事项的 li -->
					<!-- <li>
						<div class="view">
							<input class="toggle" type="checkbox">
							<label>Buy a unicorn</label>
							<button class="destroy"></button>
						</div>
						<input class="edit" value="Rule the web">
					</li> -->
					<!-- editing 给当前编辑的内容加样式 -->
					<li 
						v-for="todo in filteredTodo" 
						:key="todo.id" 
						:class="{completed:todo.completed, editing:todo === editingTodo}">
						<div class="view">
							<!-- 这里用v-model不是v-bind，因为还要满足用户手动修改驱动数据变化。-->
							<!-- 注意，checkbox单选时v-model绑定的返回true或false表示是否勾选 -->
							<input class="toggle" type="checkbox" v-model="todo.completed">
							<label @dblclick="editTodo(todo)">{{ todo.title }}</label>
							<button class="destroy" @click="removeTodo(todo)"></button>
						</div>
						<!-- 修改时，设置autofocus无法让其自动获取焦点，此属性在编译时运行，刷新页面，此时这个input还没显示 -->
						<!-- 改用 自定义指令 是编辑的input则手动触发原生.focus() -->
						<input 
							class="edit" 
							v-model="todo.title" 
							v-todo-focus="todo === editingTodo" 
							@keyup.esc="cancelEdit(todo)"
							@keyup.enter="editDone(todo)"
							@blur="editDone(todo)">
					</li>

				</ul>
			</section>
			<!-- 状态栏区域 -->
			<footer class="footer" v-show="todos.length">
				<!-- 状态栏未完成个数 remaining 计算属性 -->
				<span class="todo-count"><strong>{{ remaining }}</strong> {{ pluralize("item") }} left</span>
				<ul class="filters">
					<li>
						<a 
							href="javascript:;" 
							@click="todoType='all'" 
							:class="{selected:todoType==='all'}"
							>All</a>
					</li>
					<li>
						<a 
							href="javascript:;" 
							@click="todoType='active'" 
							:class="{selected:todoType==='active'}"
							>Active</a>
					</li>
					<li>
						<a 
							href="javascript:;" 
							@click="todoType='completed'" 
							:class="{selected:todoType==='completed'}"
							>Completed</a>
					</li>
				</ul>
				<button 
					class="clear-completed" 
					v-show="doneNum" 
					@click="removeCompleted"
					>Clear completed</button>
			</footer>
		</section>
		<footer class="info">
			<p>Double-click to edit a todo</p>
			<!-- Remove the below line ↓ -->
			<p>Template by <a href="http://sindresorhus.com">Sindre Sorhus</a></p>
			<!-- Change this out with your name and url ↓ -->
			<p>Created by <a href="http://todomvc.com">you</a></p>
			<p>Part of <a href="http://todomvc.com">TodoMVC</a></p>
		</footer>
		<!-- Scripts here. Don't remove ↓ -->
		<!-- <script src="node_modules/todomvc-common/base.js"></script> -->
		<script src="./node_modules/vue/dist/vue.js"></script>
		<script src="js/app.js"></script>
	</body>
</html>
